Итак, давайте попробуем создать публичную сборку:
using System;
namespace MyClass
{
public class FirstClass
{
public static string Gets()
{
return "Hello Global";
}
}
}
По идее сейчас можно компилировать и пробовать устанавливать. Однако нет. Для глобальной сборки нужно сформировать прочное имя (Strong Name). Для этого есть утилита подходящая - Sn назваться. Давайте попробуем формировать это имя.
Sn -k myKeys.snk
В результате должен появиться файл myKeys.snk. Теперь нужно в сборке в ее атрибутах указать этот файл в AssemblyInfo.cs.
[assembly: AssemblyKeyFile("myKeys.snk")]
Вот полный код этого файла:
using System.Reflection;
using System.Runtime.CompilerServices;
[assembly: AssemblyTitle("First")]
[assembly: AssemblyDescription("Firts Step Site ")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NetStep")]
[assembly: AssemblyCopyright("Kaev Artem")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
[assembly: AssemblyVersion("1.0")]
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("myKeys.snk")]
[assembly: AssemblyKeyName("Hello")]
Все. Можно компилировать. Компилировать нужно вместе с файлом.
csc.exe /target:library /out:First.dll First.cs AssemblyInfo.cs
И только после этого можно произвести установку сборки подробнее в "Шаг 61 - Global Assembly Cache".
gacutil /i First.dll
Обратите внимание на то, что инсталляция не обязательно может пройти удачно. Вот пример удачной установки.

Теперь Вы сможете ее увидеть в глобальном кеше.
